<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>父子组件传值</title>
</head>

<body>


    <div id="app2">
        <h1>app2</h1>

        <h1>{{msg}}</h1>

        <button @click='changeMyData'> 点击改变父组件自己的值</button> 
        <!-- 第一种写法  传值  静态传值 -->
        <!-- 第二种动态传值 -->

        <newcom1 title1='娱乐新闻' :data='msg' :lists='list'></newcom1>

        <newcom2 title2='体育新闻' :data='msg'></newcom2>


        <newcom3 title3='国内新闻' :data='msg'></newcom3>


    </div>
    <script src="./vue.js"></script>
    <script>

        // 组件1注册
        let newcom1 = {
            // props:[]  {}

            props: ['title1', 'data', 'lists'],

            data() {
                return {
                    msg: '  newcom1'
                }
            },
        

            template: `<div>  {{msg}}   ----{{title1}}----------{{data}}
                
             
        <ul>
                <li v-for="(item, index) in lists" :key="index">
                    {{item}}
                </li>
            </ul>
                
                </div>`
        }
        // 组件2注册
        let newcom2 = {
            props: ['title2', 'data'],
            data() {
                return {
                    msg: '  newcom2'
                }
            },
            template: "<div>  {{msg}}------{{title2}}----{{data}}</div>"
        }




        let newcom3 = {
            props: ['title3', 'data'],
            template: `
            
            
            <div> {{msg}} ------{{title3}}----{{data}}
                 
                //   props 单向数据流  父传递给子组件  子组件 不要去更改 父组件传递过来的值
                <button @click='changeData'> 点击改变父组件的值</button> 
                
                </div>`,
            data() {
                return {
                    msg: '  newcom3'
                }
            },

            methods: {
                changeData() {
                    alert(1)
                    this.data='我想要改造你 哈哈'
                }
                
            },
           
           
        }


        var vm2 = new Vue({
            data: {
                msg: '我是爸爸',
                list: ['苹果', '火龙果', '芥末加榴莲']
            },

            methods: {
              changeMyData() {
                this.msg='我父组件改自己的值 '
              }
            },

            el: '#app2',
            components: {
                newcom1,
                newcom2,
                newcom3
            }

        })
    </script>
</body>

</html>